#if !defined(_APP_SERIAL)
#define _APP_SERIAL
#include <stdio.h>
#include <termios.h>
#include <app_device.h>
// 波特率枚举
typedef enum
{
    BR_9600 = B9600,
    BR_115200 = B115200
} SERIAL_BAUD_RATE;
   
// 校验位枚举
typedef enum
{
    PARITY_NONE = 0, // 无校验位
    PARITY_ODD = PARENB | PARODD, // 奇校验位
    PARITY_EVEN = PARENB, // 偶校验位
} SERIAL_PARITY;

// 停止位枚举
typedef enum
{
    STOP_BIT_ONE = 0, // 1位停止位
    STOP_BIT_TWO = CSTOPB, // 2位停止位
} SERIAL_STOP_BIT;

//0  还原初始设置
int app_serial_makeraw(device_t *device);

//1   波特率 
int app_serial_set_baudrate(device_t *device,SERIAL_BAUD_RATE baudrate);
//2   停止位 
int app_serial_set_stopbits(device_t *device,SERIAL_PARITY stopbits);
//3   奇偶校验位
int app_serial_set_parity(device_t *device,SERIAL_STOP_BIT parity);
//4   是否阻塞读取 
int app_serial_set_blocking(device_t *device,int blocking);

/**
 * 初始化设备的串口配置
 */
int app_serial_init(device_t *device);


#endif // _APP_SERIAL
